Skip to main content
Minh Nong
💬
0 discussions

[ReactNative] Package - Dependency

I. Packages

  • Test sip connection of Reactnative Shell in background by using gcalls-web-sdk @devops_gcalls/gcalls-web-sdk": "^1.1.36"
  • Reactnative Storage "@react-native-async-storage/async-storage": "^1.19.0"
  • Handle remote push notification for iOs "@react-native-community/push-notification-ios": "^1.11.0"
  • UI Toolkit "@rneui/base": "github:react-native-elements/react-native-elements#base",
  • UI Toolkit "@rneui/themed": "^0.0.0-edge.2",
  • Help to install iOS dependency "pod-install": "0.1.38",
  • React "react": "18.2.0",
  • Iframe "react-iframe": "^1.8.5",
  • ReactNative "react-native": "0.71.7",
  • Backround timer : Use to debug background Job "react-native-background-timer": "^2.4.1",
  • Callkeep : Handle voiP call "react-native-callkeep": "^4.3.12",
  • Sync contact through default contact app "react-native-contacts": "^7.0.5",
  • ENV "react-native-dotenv": "^3.4.10",
  • Keep App awake while calling in foreground "react-native-keep-awake": "^4.0.0",
  • Spinner "react-native-loading-spinner-overlay": "^3.0.1",
  • Check network infomation "react-native-network-logger": "^1.14.0",
  • Handle App permission "react-native-permissions": "^3.6.1",
  • Handle Push notification "react-native-push-notification": "^8.1.1",
  • Restart App "react-native-restart": "^0.0.27",
  • Handle swipe gestures "react-native-swipe-gestures": "^1.0.5",
  • Handle TrackPlayer in background "react-native-track-player": "^4.1.1",
  • Handle iOS voiP push for incoming call "react-native-voip-push-notification": "^3.3.2",
  • Webview : "react-native-webview": "^11.26.1"

II. Source tree

.
├── README.md
├── package-lock.json
├── scripts
│   └── ios.sh
└── src
├── App.tsx
├── Example.js
├── TestNativeIosModule
│   ├── TestButton.tsx
│   └── TestButton1.tsx
├── android
│   ├── Gemfile
│   ├── app
│   │   ├── build
│   │   │   └── outputs
│   │   │   ├── apk
│   │   │   └── bundle
│   │   ├── build.gradle
│   │   ├── google-services.json
│   │   ├── proguard-rules.pro
│   │   └── src
│   │   └── main
│   │   ├── AndroidManifest.xml
│   │   ├── java
│   │   │   └── co
│   │   │   └── gcalls
│   │   │   └── shell -> Native module
│   │   │   ├── AudioManagerModule.java -> Custom Audio Manager Module
│   │   │   ├── AudioManagerModulePackage.java
│   │   │   ├── BackgroundTaskEventService.java -> Background Task Event
│   │   │   ├── BackgroundTaskModule.java -> Background Task Module
│   │   │   ├── BackgroundTaskModulePackage.java -> Background Task Module ( Custom module)
│   │   │   ├── BackgroundTaskService.java -> Function for background task Module (HeadlessJs)
│   │   │   ├── BootReceiver.java -> Run background Task when app close
│   │   │   ├── CallButtonInterceptor.java -> handle phoneNumber for outgoing
│   │   │   ├── GcallsLifeCycleTracker.java -> Native lifecycle tracker
│   │   │   ├── GcallsPhoneStateListener.java
│   │   │   ├── LocalStorageModule.java -> Custom localstorage
│   │   │   ├── LocalStorageModulePackage.java
│   │   │   ├── MainActivity.java -> App lifecycle, handle permission,handleIntent
│   │   │   ├── MainApplication.java -> Add native Module
│   │   │   ├── contacts -> Sync/authen contact from other app (Research)
│   │   │   │   ├── AuthenticatorActivity.java
│   │   │   │   ├── Contact.java
│   │   │   │   ├── ContactColumns.java
│   │   │   │   └── SyncStateReceiver.java
│   │   │   ├── provider -> Sync.authen contact from other App
│   │   │   │   ├── AccountGeneral.java
│   │   │   │   ├── AuthenticationService.java
│   │   │   │   ├── Authenticator.java
│   │   │   │   ├── ContactProvider.java
│   │   │   │   ├── ContactProviderContract.java
│   │   │   │   ├── ContactUpdateService.java
│   │   │   │   ├── ContactsManager.java
│   │   │   │   ├── DatabaseHelper.java
│   │   │   │   ├── SyncAdapter.java
│   │   │   │   └── SyncService.java
│   │   │   └── services
│   │   └── -> App Icon
│   │   ├── drawable
│   │   │   ├── ic_launcher.png
│   │   │   └── icon.png
│   │   ├── mipmap-hdpi
│   │   │   ├── ic_launcher.png
│   │   │   └── ic_launcher_round.png
│   │   ├── mipmap-mdpi
│   │   │   ├── ic_launcher.png
│   │   │   └── ic_launcher_round.png
│   │   ├── mipmap-xhdpi
│   │   │   ├── ic_launcher.png
│   │   │   └── ic_launcher_round.png
│   │   ├── mipmap-xxhdpi
│   │   │   ├── ic_launcher.png
│   │   │   └── ic_launcher_round.png
│   │   ├── mipmap-xxxhdpi
│   │   │   ├── ic_launcher.png
│   │   │   └── ic_launcher_round.png
│   │   ├── values
│   │   │   ├── colors.xml
│   │   │   ├── strings.xml
│   │   │   └── styles.xml
│   │   └── xml
│   │   ├── account_type.xml
│   │   ├── authenticator.xml
│   │   ├── contacts.xml
│   │   └── syncadapter.xml
│   ├── fastlane -> CICD
│   │   ├── Appfile -> config json_key_file ( google playstore key)
│   │   ├── Fastfile -> config Lane (auto build - deploy)
│   │   ├── README.md
│   │   ├── metadata -> App metadata (Store Listing)
│   │   │   └── android
│   │   │   ├── en-US
│   │   │   │   ├── changelogs
│   │   │   │   │   └── default.txt
│   │   │   │   ├── full_description.txt
│   │   │   │   ├── short_description.txt
│   │   │   │   ├── title.txt
│   │   │   │   └── video.txt
│   │   │   ├── tester_list.txt
│   │   │   └── vi
│   │   │   └── changelogs
│   │   │   └── default.txt
│   │   └── secure -> secure
│   │   ├── gcallsshell-key.keystore -> appkey
│   │   ├── mobile-dev-13d1a-51e09f8c29bf.json -> firebase key
│   │   ├── pc-api-7709112798689248816-695-09af9c402ef9.json -> playstore key
│   │   └── secret.sh -> CICD
│   ├── local.properties -> android - sdk dir
│   ├── settings.gradle -> config app module
├── app.json
├── babel.config.js
├── components
│   └── contact.js
├── env.d.ts
├── gModules -> Gcalls Module
│   ├── gAndroidPermission.js
│   ├── gAppStateModule.js -> Manage App State ( Foreground or Background)
│   ├── gNativeAndroidModule.js -> Manage Native Android Module
│   ├── gNativeIosModule.js -> Manage Ios Module
│   └── gWebViewMessage.js -> Message from Omnibox
├── index.js
├── ios
│   ├── AudioManagerIosModule.h -> Audio Manager Native Module
│   ├── AudioManagerIosModule.m
│   ├── CalendarManager.swift -> Just write a test Module
│   ├── CallKitManager.swift -> Handle Phone Number from Default Contact App
│   ├── CallkitModule.swift
│   ├── Gcalls
│   │   ├── AppDelegate.h
│   │   ├── AppDelegate.mm -> Ios Lifecycle
│   │   ├── Images.xcassets
│   │   │   ├── AppIcon.appiconset -> App Icon
│   │   │   │   ├── 100.png
│   │   │   │   ├── 102.png
│   │   │   │   ├── 1024.png
│   │   │   │   ├── 114.png
│   │   │   │   ├── 120.png
│   │   │   │   ├── 128.png
│   │   │   │   ├── 144.png
│   │   │   │   ├── 152.png
│   │   │   │   ├── 16.png
│   │   │   │   ├── 167.png
│   │   │   │   ├── 172.png
│   │   │   │   ├── 180.png
│   │   │   │   ├── 196.png
│   │   │   │   ├── 20.png
│   │   │   │   ├── 216.png
│   │   │   │   ├── 256.png
│   │   │   │   ├── 29.png
│   │   │   │   ├── 32.png
│   │   │   │   ├── 40.png
│   │   │   │   ├── 48.png
│   │   │   │   ├── 50.png
│   │   │   │   ├── 512.png
│   │   │   │   ├── 55.png
│   │   │   │   ├── 57.png
│   │   │   │   ├── 58.png
│   │   │   │   ├── 60.png
│   │   │   │   ├── 64.png
│   │   │   │   ├── 66.png
│   │   │   │   ├── 72.png
│   │   │   │   ├── 76.png
│   │   │   │   ├── 80.png
│   │   │   │   ├── 87.png
│   │   │   │   ├── 88.png
│   │   │   │   ├── 92.png
│   │   │   │   └── Contents.json
│   │   │   └── Contents.json
│   │   ├── Info.plist -> App info, permission
│   │   ├── LaunchScreen.storyboard
│   │   └── main.m
│   ├── Gcalls-Bridging-Header.h
│   ├── GcallsTests-Bridging-Header.h
│   ├── Gemfile -> Ruby Module (fastlane)
│   ├── Gemfile.lock
│   ├── LocalStorageIosModule.h -> Native Ios Module
│   ├── LocalStorageIosModule.m
│   ├── Matchfile
│   ├── NSObject+CallObserver.h
│   ├── Podfile
│   ├── Podfile.lock
│   ├── RCTCalendarModule.h
│   ├── RCTCalendarModule.m
│   ├── RTCCallkitModule.m
│   ├── UserActivityModule.h -> Get phone_num when User call from default contact app
│   ├── UserActivityModule.m
│   ├── ViewController.swift
│   ├── build
│   ├── fastlane -> CICD
│   │   ├── Appfile
│   │   ├── Deliverfile
│   │   ├── Fastfile
│   │   ├── Pluginfile
│   │   ├── README.md
│   │   ├── ipa
│   │   │   └── Gcalls.app.dSYM.zip
│   │   └── metadata
│   │   ├── copyright.txt
│   │   ├── en-US
│   │   │   ├── apple_tv_privacy_policy.txt
│   │   │   ├── description.txt
│   │   │   ├── keywords.txt
│   │   │   ├── marketing_url.txt
│   │   │   ├── name.txt
│   │   │   ├── privacy_url.txt
│   │   │   ├── promotional_text.txt
│   │   │   ├── subtitle.txt
│   │   │   └── support_url.txt
│   │   ├── primary_category.txt
│   │   ├── primary_first_sub_category.txt
│   │   ├── primary_second_sub_category.txt
│   │   ├── review_information
│   │   │   ├── demo_password.txt
│   │   │   ├── demo_user.txt
│   │   │   ├── email_address.txt
│   │   │   ├── first_name.txt
│   │   │   ├── last_name.txt
│   │   │   ├── notes.txt
│   │   │   └── phone_number.txt
│   │   ├── secondary_category.txt
│   │   ├── secondary_first_sub_category.txt
│   │   ├── secondary_second_sub_category.txt
│   │   ├── tester.txt
│   │   └── vi
│   │   ├── apple_tv_privacy_policy.txt
│   │   ├── description.txt
│   │   ├── keywords.txt
│   │   ├── marketing_url.txt
│   │   ├── name.txt
│   │   ├── privacy_url.txt
│   │   ├── promotional_text.txt
│   │   ├── subtitle.txt
│   │   └── support_url.txt
│   └── main.jsbundle
├── metro.config.js
├── package-lock.json
├── package.json
├── services -> App servive
│   ├── push-notification-service.js
│   ├── track-player-background.js
│   └── voip-push-notification-service.js
├── tsconfig.json
└── utils
├── gCommonFunc.js
├── gConst.js
└── gScreenSetting.js